package com.chenailin.www.dao;

import com.chenailin.www.pojo.Doctor;

import java.sql.SQLException;
import java.util.List;

// 声明方法（不实现）
public interface DoctorDAO {
    // 添加医生
    boolean addDoctor(Doctor doctor) throws SQLException;

    // 修改医生
    boolean modifyDoctor(Doctor doctor) throws SQLException;

    // 删除医生
    boolean deleteDoctor(int doctorId) throws SQLException;

    // 保存新增医生的时间段
    boolean addSchedule(int doctorId, List<Integer> schedule) throws SQLException;

    // 删除有空的时间段
    boolean deleteSchedule(int doctorId, List<Integer> schedule) throws SQLException;

    // 删除所有时间段
    boolean deleteAllSchedule(int doctorId) throws SQLException;

    // 查询医生有空的时间段
    List<Integer> getUnSelectedSchedule(int docId);

    // 查询医生时间段
    List<Integer> getSchedule(int docId) throws SQLException;

    // 查看所有医生
    List<Doctor> getAllDoctors();

    // 根据编号查找医生
    Doctor findById(int id);

    // 查找对应部门的所有医生
    List<Doctor> findDoctorByDepartment(int departId) throws SQLException;

    // 查询相应部门下是否有人
    boolean countByDepartment(int departId);

    // 判断医生是否有空
    boolean isDoctorAvailable(int doctorId, int slot);
}